#include <cstdio>
#include <cmath>

#define MAX_SIZE 1000

int num[MAX_SIZE] = {0};

void prime() {
	int count = 0;
	int j;
	for (int i = 2; i < 1000; ++i) {
		for (j = 2; j <= sqrt(i); ++j) {
			if (i % j == 0) break;
		}
		if (j > sqrt(i)) num[count++] = i;
	}
}

int main() {
	int n, a;
	int a_prime[MAX_SIZE] = {0};
	int n_prime[MAX_SIZE] = {0};
	int max = MAX_SIZE;
	scanf("%d %d", &n, &a);
	int temp_a = a, temp_n = n;
	for (int i = 2; i <= temp_a; ++i) {
		if (a % i == 0) {
			++a_prime[i];
			a /= i;
			--i;
		}
	}
	for (int j = 2; j <= temp_n; ++j) {
		int temp_j = j;
		for (int i = 2; i <= j; ++i) {
			if (temp_j % i == 0) {
				++n_prime[i];
				temp_j /= i;
				--i;
			}
		}
	}

	for (int i = 2; i < temp_n; i++) {
		if (a_prime[i] != 0) {
			max = max > n_prime[i]/a_prime[i] ? n_prime[i]/a_prime[i] : max;
		}
	}

	printf("%d", max);

	return 0;
}
